home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / mui / mui-tools / mfilemode / source / gadgetup.c < prev    next >
C/C++ Source or Header  |  1995-03-09  |  3KB  |  158 lines

  1. // Gadgets.c
  2.  
  3. #include <string.h>
  4. #include <proto/dos.h>
  5. #include <proto/intuition.h>
  6. #include <proto/gadtools.h>
  7. #include <proto/multiuser.h>
  8. #include "MFileMode.h"
  9. #include "GUI.h"
  10.  
  11. int GAD_FILEClicked(VOID)
  12. {
  13.     static ULONG    StartSecs = 0, StartMicros = 0;
  14.     UBYTE            TempPath[81];
  15.     BPTR            File;
  16.  
  17.     WriteData();
  18.  
  19.     strncpy(TempPath, Path, 80);
  20.     AddPart(TempPath, FileNames[MainMsg.Code], 80);
  21.  
  22.     if(File = Lock(TempPath, ACCESS_READ))
  23.     {
  24.         Examine(File, &FileInfo);
  25.  
  26.         if((DoubleClick(StartSecs, StartMicros, MainMsg.Seconds,
  27.                 MainMsg.Micros)) && (MainMsg.Code == EntryNum) &&
  28.                 (FileInfo.fib_DirEntryType >= 0))
  29.         {
  30.             AddPart(Path, FileNames[MainMsg.Code], 80);
  31.  
  32.             LoadDirectory(File, &FileList);
  33.  
  34.             GT_SetGadgetAttrs(MainGadgets[GD_GAD_PATH], MainWnd, NULL,
  35.                     GTTX_Text,    Path,
  36.                     TAG_END);
  37.  
  38.             Selected = FALSE;
  39.         }
  40.         else
  41.         {
  42.             SetGadgets(&FileInfo);
  43.  
  44.             Selected = TRUE;
  45.             Changed = FALSE;
  46.         }
  47.  
  48.         UnLock(File);
  49.     }
  50.     else
  51.         AlertUser(MainWnd, "Can't lock file", TempPath);
  52.  
  53.     StartSecs    = MainMsg.Seconds;
  54.     StartMicros    = MainMsg.Micros;
  55.     EntryNum    = MainMsg.Code;
  56.  
  57.     return TRUE;
  58. }    
  59.  
  60. int GAD_VOLUMESClicked(VOID)
  61. {
  62.     WriteData();
  63.  
  64.     LoadVolumes(&FileList);
  65.  
  66.     Selected = FALSE;
  67.  
  68.     return TRUE;
  69. }
  70.  
  71. int GAD_PARENTClicked(VOID)
  72. {
  73.     BPTR            File, Parent;
  74.  
  75.     WriteData();
  76.  
  77.     if(File = Lock(Path, ACCESS_READ))
  78.     {
  79.         if(Parent = ParentDir(File))
  80.         {
  81.             LoadDirectory(Parent, &FileList);
  82.  
  83.             if(NameFromLock(Parent, Path, 80))
  84.             {
  85.                 GT_SetGadgetAttrs(MainGadgets[GD_GAD_PATH], MainWnd, NULL,
  86.                         GTTX_Text,    Path,
  87.                         TAG_END);
  88.             }
  89.             else
  90.                 AlertUser(MainWnd, "Path too large", "");
  91.  
  92.             UnLock(Parent);
  93.         }
  94.         else
  95.         {
  96.             LoadVolumes(&FileList);
  97.         }
  98.  
  99.         UnLock(File);
  100.     }
  101.     else
  102.         AlertUser(MainWnd, "Can't lock file ", Path);
  103.  
  104.     Selected = FALSE;
  105.  
  106.     return TRUE;
  107. }
  108.  
  109. int GAD_OWNERClicked(VOID)
  110. {
  111.     strncpy(UserInfo->UserID, GetString(MainGadgets[GD_GAD_OWNER]),
  112.             muUSERIDSIZE);
  113.  
  114.     if(muGetUserInfo(UserInfo, muKeyType_UserID))
  115.         Changed = TRUE;
  116.     else
  117.         AlertUser(MainWnd, "No such user", UserInfo->UserID);
  118.  
  119.     return TRUE;
  120. }
  121.  
  122. int GAD_GROUPClicked(VOID)
  123. {
  124.     strncpy(GroupInfo->GroupID, GetString(MainGadgets[GD_GAD_GROUP]),
  125.             muGROUPIDSIZE);
  126.  
  127.     if(muGetGroupInfo(GroupInfo, muKeyType_GroupID))
  128.         Changed = TRUE;
  129.     else
  130.         AlertUser(MainWnd, "No such group", GroupInfo->GroupID);
  131.  
  132.     return TRUE;
  133. }
  134.  
  135. int GAD_CHECKBOXClicked(VOID)
  136. {
  137.     Changed = TRUE;
  138.  
  139.     return TRUE;
  140. }
  141.  
  142. int GAD_UIDClicked(VOID) { return GAD_CHECKBOXClicked(); }
  143. int GAD_SCRIPTClicked(VOID) { return GAD_CHECKBOXClicked(); }
  144. int GAD_PUREClicked(VOID) { return GAD_CHECKBOXClicked(); }
  145. int GAD_ARCHIVEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  146. int GAD_USER_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
  147. int GAD_USER_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  148. int GAD_USER_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  149. int GAD_USER_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  150. int GAD_GROUP_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
  151. int GAD_GROUP_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  152. int GAD_GROUP_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  153. int GAD_GROUP_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  154. int GAD_OTHER_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
  155. int GAD_OTHER_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  156. int GAD_OTHER_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  157. int GAD_OTHER_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
  158.